package com.bdth.weget.net.base;

import com.bdth.weget.net.bean.ByteMessage;
import com.bdth.weget.net.bean.ChannelStatus;
import com.bdth.weget.net.vo.CtxMessage;
import com.bdth.weget.vo.JT0200;
import io.netty.channel.ChannelHandlerContext;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;

/**
 * Created by Administrator on 2019/5/24.
 */
public class SessionData {
    /**
     * 数据二进制消息队列
     */
    public static ConcurrentLinkedQueue<ByteMessage> BYTEMESSAGE = new ConcurrentLinkedQueue<>();

    /**
     * 所有链接到平台上的链接
     */
    public static ConcurrentHashMap<ChannelHandlerContext,ChannelStatus> ALLLINK = new ConcurrentHashMap<>();

    /**
     * 终端对应的链接
     */
    public static ConcurrentHashMap<String,ChannelHandlerContext> AllTERMINAL = new ConcurrentHashMap<>();

    /**
     * 链接的所有未解析的数据
     */
    public static ConcurrentLinkedQueue<CtxMessage> RECEIVE_MESSAGE = new ConcurrentLinkedQueue<>();

    /**
     * 使用解析的数据
     */
    public static ConcurrentLinkedQueue<JT0200> RECEIVE_TEST = new ConcurrentLinkedQueue<>();

    /**
     * 接收到的消息数据
     */
    public static ConcurrentLinkedQueue<Map<String,String>> MESSAGELIST = new ConcurrentLinkedQueue<>();

    /**
     * 默认断开通道时间（默认 300秒 不发送数据就断开通道）
     */
    public static Integer BREAKLINKTIME = 300;

    /**
     * 错误报文达到条数，设置链接为BAD
     */
    public static Integer BREAKMAXMESSAGE = 10;

    /**
     * 平台报文序列号
     */
    public static short SERIALNUMBER = 1;

    /**
     * 终端鉴权码
     */
    public static String REGISTERNO = "88888888";
}
